package thread;

/**
 * @author 老安
 * @data 2022/6/21 20:53
 * 第二种创建线程方式:
 * 1:创建一个类,实现Runnable接口
 * 2:重写Runnable中的run方法
 * 3:run方法中写线程要执行的任务
 * 4:实例化线程任务对象
 * 5:实例化线程对象,并将任务对象作为参数传入
 * 6:线程对象调用start方法启动线程
 * 优点:就是java中是多现实,也没有占用单继承,扩展性得到了保障
 * 缺点:写起来稍微麻烦点
 */
public class ThreadDemo2 {
    public static void main(String[] args) {
        //实例化线程要执行的任务对象
        MyRunnable1 r1 = new MyRunnable1();
        MyRunnable2 r2 = new MyRunnable2();
        //实例化线程对象,并将任务对象传入其中
        Thread t1 = new Thread(r1);
        Thread t2 = new Thread(r2);
        //启动线程
        t1.start();
        t2.start();
    }
}
//Runnable不是线程,只是用来承载线程执行的内容的容器而已
class MyRunnable1 implements Runnable{
    @Override
    public void run() {
        for (int i = 0; i < 1000; i++) {
            System.out.println("hello~大姐姐~~");
        }
    }
}
class MyRunnable2 implements Runnable{
    @Override
    public void run() {
        for (int i = 0; i < 1000; i++) {
            System.out.println("来了~老六~~");
        }
    }
}